1268 lines (1268 with data), 154.5 kB
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"machine_shape": "hm",
"gpuType": "V28"
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"accelerator": "TPU"
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "8XnVMPBXmtRa"
},
"source": [
"# TensorNetworks in Neural Networks.\n",
"\n",
"Here, we have a small toy example of how to use a TN inside of a fully connected neural network.\n",
"\n",
"First off, let's install tensornetwork"
]
},
{
"cell_type": "code",
"metadata": {
"id": "7HGRsYNAFxME"
},
"source": [
"# !pip install tensornetwork\n",
"\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import tensorflow as tf\n",
"# Import tensornetwork\n",
"import tensornetwork as tn\n",
"import random\n",
"import time\n",
"import pandas as pd\n",
"# Set the backend to tesorflow\n",
"# (default is numpy)\n",
"tn.set_default_backend(\"tensorflow\")\n",
"np.random.seed(42)\n",
"random.seed(42)\n",
"tf.random.set_seed(42)\n",
"# Explainability code assistance aided by ChatGPT3.5\n",
"# 2021 Kelly, D. TensorFlow Explainable AI tutorial https://www.youtube.com/watch?v=6xePkn3-LME"
],
"execution_count": 57,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "g1OMCo5XmrYu"
},
"source": [
"# TensorNetwork layer definition\n",
"\n",
"Here, we define the TensorNetwork layer we wish to use to replace the fully connected layer. Here, we simply use a 2 node Matrix Product Operator network to replace the normal dense weight matrix.\n",
"\n",
"We TensorNetwork's NCon API to keep the code short."
]
},
{
"cell_type": "code",
"metadata": {
"id": "wvSMKtPufnLp"
},
"source": [
"class TNLayer(tf.keras.layers.Layer):\n",
"\n",
" def __init__(self):\n",
" super(TNLayer, self).__init__()\n",
" # Create the variables for the layer.\n",
" self.a_var = tf.Variable(tf.random.normal(shape=(32, 32, 2),\n",
" stddev=1.0/32.0),\n",
" name=\"a\", trainable=True)\n",
" self.b_var = tf.Variable(tf.random.normal(shape=(32, 32, 2),\n",
" stddev=1.0/32.0),\n",
" name=\"b\", trainable=True)\n",
" self.bias = tf.Variable(tf.zeros(shape=(32, 32)),\n",
" name=\"bias\", trainable=True)\n",
"\n",
" def call(self, inputs):\n",
" # Define the contraction.\n",
" # We break it out so we can parallelize a batch using\n",
" # tf.vectorized_map (see below).\n",
" def f(input_vec, a_var, b_var, bias_var):\n",
" # Reshape to a matrix instead of a vector.\n",
" input_vec = tf.reshape(input_vec, (32, 32))\n",
"\n",
" # Now we create the network.\n",
" a = tn.Node(a_var)\n",
" b = tn.Node(b_var)\n",
" x_node = tn.Node(input_vec)\n",
" a[1] ^ x_node[0]\n",
" b[1] ^ x_node[1]\n",
" a[2] ^ b[2]\n",
"\n",
" # The TN should now look like this\n",
" # | |\n",
" # a --- b\n",
" # \\ /\n",
" # x\n",
"\n",
" # Now we begin the contraction.\n",
" c = a @ x_node\n",
" result = (c @ b).tensor\n",
"\n",
" # To make the code shorter, we also could've used Ncon.\n",
" # The above few lines of code is the same as this:\n",
" # result = tn.ncon([x, a_var, b_var], [[1, 2], [-1, 1, 3], [-2, 2, 3]])\n",
"\n",
" # Finally, add bias.\n",
" return result + bias_var\n",
"\n",
" # To deal with a batch of items, we can use the tf.vectorized_map\n",
" # function.\n",
" # https://www.tensorflow.org/api_docs/python/tf/vectorized_map\n",
" result = tf.vectorized_map(\n",
" lambda vec: f(vec, self.a_var, self.b_var, self.bias), inputs)\n",
" return tf.nn.relu(tf.reshape(result, (-1, 1024)))"
],
"execution_count": 58,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "V-CVqIhPnhY_"
},
"source": [
"# Smaller model\n",
"These two models are effectively the same, but notice how the TN layer has nearly 10x fewer parameters."
]
},
{
"cell_type": "code",
"metadata": {
"id": "bbKsmK8wIFTp",
"outputId": "5792791c-0b69-4ec8-e82d-acf78a7afd2c",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 0
}
},
"source": [
"Dense = tf.keras.layers.Dense\n",
"tn_model = tf.keras.Sequential(\n",
" [\n",
" tf.keras.Input(shape=(2,)),\n",
" Dense(1024, activation=tf.nn.relu),\n",
" # Start Modified Layers\n",
" TNLayer(),\n",
" TNLayer(),\n",
" TNLayer(),\n",
" Dense(1024, activation=tf.nn.relu),\n",
" # Finish Modified Layers\n",
" Dense(1, activation=None)])\n",
"tn_model.summary()"
],
"execution_count": 59,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Model: \"sequential_5\"\n",
"_________________________________________________________________\n",
" Layer (type) Output Shape Param # \n",
"=================================================================\n",
" dense_15 (Dense) (None, 1024) 3072 \n",
" \n",
" tn_layer_15 (TNLayer) (None, 1024) 5120 \n",
" \n",
" tn_layer_16 (TNLayer) (None, 1024) 5120 \n",
" \n",
" tn_layer_17 (TNLayer) (None, 1024) 5120 \n",
" \n",
" dense_16 (Dense) (None, 1024) 1049600 \n",
" \n",
" dense_17 (Dense) (None, 1) 1025 \n",
" \n",
"=================================================================\n",
"Total params: 1069057 (4.08 MB)\n",
"Trainable params: 1069057 (4.08 MB)\n",
"Non-trainable params: 0 (0.00 Byte)\n",
"_________________________________________________________________\n"
]
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "GWwoYp0WnsLA"
},
"source": [
"# Training a model\n",
"\n",
"You can train the TN model just as you would a normal neural network model! Here, we give an example of how to do it in Keras."
]
},
{
"cell_type": "code",
"metadata": {
"id": "qDFzOC7sDBJ-"
},
"source": [
"# Generate points forming intersecting ellipses\n",
"theta1 = np.linspace(0, 2*np.pi, 240) # 480/2 = 240 points for each ellipse\n",
"theta2 = np.linspace(0, 2*np.pi, 240)\n",
"\n",
"a1, b1 = 2, 1 # Parameters for ellipse 1\n",
"a2, b2 = 1, 2 # Parameters for ellipse 2\n",
"\n",
"x1 = a1 * np.cos(theta1)\n",
"y1 = b1 * np.sin(theta1)\n",
"\n",
"x2 = a2 * np.cos(theta2)\n",
"y2 = b2 * np.sin(theta2)\n",
"\n",
"X = np.concatenate([np.column_stack((x1, y1)), np.column_stack((x2, y2))])\n",
"Y = np.concatenate([np.ones((240)), -np.ones((240))])"
],
"execution_count": 60,
"outputs": []
},
{
"cell_type": "code",
"source": [
"seconds = time.time()\n",
"print(\"Time in seconds since beginning of run:\", seconds)\n",
"local_time = time.ctime(seconds)\n",
"print(local_time)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 0
},
"id": "19TWP-1eKURB",
"outputId": "e4e94509-d5ed-472f-d318-18780f5f3406"
},
"execution_count": 61,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Time in seconds since beginning of run: 1712725582.4598951\n",
"Wed Apr 10 05:06:22 2024\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "crc0q1vbIyTj",
"outputId": "63935e0b-7fc2-4c0d-b2fe-30d949f7f453",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 0
}
},
"source": [
"tn_model.compile(optimizer=\"adam\", loss=\"mean_squared_error\")\n",
"tn_model.fit(X, Y, epochs=300, verbose=2)"
],
"execution_count": 62,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Epoch 1/300\n",
"15/15 - 2s - loss: 1.0025 - 2s/epoch - 132ms/step\n",
"Epoch 2/300\n",
"15/15 - 0s - loss: 1.0001 - 131ms/epoch - 9ms/step\n",
"Epoch 3/300\n",
"15/15 - 0s - loss: 1.0004 - 132ms/epoch - 9ms/step\n",
"Epoch 4/300\n",
"15/15 - 0s - loss: 1.0003 - 131ms/epoch - 9ms/step\n",
"Epoch 5/300\n",
"15/15 - 0s - loss: 1.0003 - 122ms/epoch - 8ms/step\n",
"Epoch 6/300\n",
"15/15 - 0s - loss: 1.0002 - 129ms/epoch - 9ms/step\n",
"Epoch 7/300\n",
"15/15 - 0s - loss: 1.0003 - 124ms/epoch - 8ms/step\n",
"Epoch 8/300\n",
"15/15 - 0s - loss: 1.0001 - 118ms/epoch - 8ms/step\n",
"Epoch 9/300\n",
"15/15 - 0s - loss: 1.0006 - 122ms/epoch - 8ms/step\n",
"Epoch 10/300\n",
"15/15 - 0s - loss: 1.0002 - 118ms/epoch - 8ms/step\n",
"Epoch 11/300\n",
"15/15 - 0s - loss: 1.0002 - 125ms/epoch - 8ms/step\n",
"Epoch 12/300\n",
"15/15 - 0s - loss: 0.9577 - 118ms/epoch - 8ms/step\n",
"Epoch 13/300\n",
"15/15 - 0s - loss: 0.7294 - 114ms/epoch - 8ms/step\n",
"Epoch 14/300\n",
"15/15 - 0s - loss: 0.6508 - 115ms/epoch - 8ms/step\n",
"Epoch 15/300\n",
"15/15 - 0s - loss: 0.6419 - 116ms/epoch - 8ms/step\n",
"Epoch 16/300\n",
"15/15 - 0s - loss: 0.6150 - 121ms/epoch - 8ms/step\n",
"Epoch 17/300\n",
"15/15 - 0s - loss: 0.5936 - 120ms/epoch - 8ms/step\n",
"Epoch 18/300\n",
"15/15 - 0s - loss: 0.5532 - 122ms/epoch - 8ms/step\n",
"Epoch 19/300\n",
"15/15 - 0s - loss: 0.5186 - 123ms/epoch - 8ms/step\n",
"Epoch 20/300\n",
"15/15 - 0s - loss: 0.5283 - 116ms/epoch - 8ms/step\n",
"Epoch 21/300\n",
"15/15 - 0s - loss: 0.5001 - 118ms/epoch - 8ms/step\n",
"Epoch 22/300\n",
"15/15 - 0s - loss: 0.4529 - 118ms/epoch - 8ms/step\n",
"Epoch 23/300\n",
"15/15 - 0s - loss: 0.4123 - 118ms/epoch - 8ms/step\n",
"Epoch 24/300\n",
"15/15 - 0s - loss: 0.4281 - 115ms/epoch - 8ms/step\n",
"Epoch 25/300\n",
"15/15 - 0s - loss: 0.4520 - 122ms/epoch - 8ms/step\n",
"Epoch 26/300\n",
"15/15 - 0s - loss: 0.4192 - 121ms/epoch - 8ms/step\n",
"Epoch 27/300\n",
"15/15 - 0s - loss: 0.3898 - 123ms/epoch - 8ms/step\n",
"Epoch 28/300\n",
"15/15 - 0s - loss: 0.3818 - 116ms/epoch - 8ms/step\n",
"Epoch 29/300\n",
"15/15 - 0s - loss: 0.3634 - 119ms/epoch - 8ms/step\n",
"Epoch 30/300\n",
"15/15 - 0s - loss: 0.3523 - 118ms/epoch - 8ms/step\n",
"Epoch 31/300\n",
"15/15 - 0s - loss: 0.2836 - 119ms/epoch - 8ms/step\n",
"Epoch 32/300\n",
"15/15 - 0s - loss: 0.2468 - 120ms/epoch - 8ms/step\n",
"Epoch 33/300\n",
"15/15 - 0s - loss: 0.2598 - 124ms/epoch - 8ms/step\n",
"Epoch 34/300\n",
"15/15 - 0s - loss: 0.2558 - 127ms/epoch - 8ms/step\n",
"Epoch 35/300\n",
"15/15 - 0s - loss: 0.2271 - 120ms/epoch - 8ms/step\n",
"Epoch 36/300\n",
"15/15 - 0s - loss: 0.2543 - 114ms/epoch - 8ms/step\n",
"Epoch 37/300\n",
"15/15 - 0s - loss: 0.2948 - 124ms/epoch - 8ms/step\n",
"Epoch 38/300\n",
"15/15 - 0s - loss: 0.2052 - 113ms/epoch - 8ms/step\n",
"Epoch 39/300\n",
"15/15 - 0s - loss: 0.2411 - 121ms/epoch - 8ms/step\n",
"Epoch 40/300\n",
"15/15 - 0s - loss: 0.1847 - 117ms/epoch - 8ms/step\n",
"Epoch 41/300\n",
"15/15 - 0s - loss: 0.1595 - 118ms/epoch - 8ms/step\n",
"Epoch 42/300\n",
"15/15 - 0s - loss: 0.2209 - 123ms/epoch - 8ms/step\n",
"Epoch 43/300\n",
"15/15 - 0s - loss: 0.2633 - 127ms/epoch - 8ms/step\n",
"Epoch 44/300\n",
"15/15 - 0s - loss: 0.1857 - 122ms/epoch - 8ms/step\n",
"Epoch 45/300\n",
"15/15 - 0s - loss: 0.1818 - 120ms/epoch - 8ms/step\n",
"Epoch 46/300\n",
"15/15 - 0s - loss: 0.1891 - 114ms/epoch - 8ms/step\n",
"Epoch 47/300\n",
"15/15 - 0s - loss: 0.1401 - 119ms/epoch - 8ms/step\n",
"Epoch 48/300\n",
"15/15 - 0s - loss: 0.1457 - 123ms/epoch - 8ms/step\n",
"Epoch 49/300\n",
"15/15 - 0s - loss: 0.1645 - 128ms/epoch - 9ms/step\n",
"Epoch 50/300\n",
"15/15 - 0s - loss: 0.1248 - 135ms/epoch - 9ms/step\n",
"Epoch 51/300\n",
"15/15 - 0s - loss: 0.1704 - 117ms/epoch - 8ms/step\n",
"Epoch 52/300\n",
"15/15 - 0s - loss: 0.1038 - 124ms/epoch - 8ms/step\n",
"Epoch 53/300\n",
"15/15 - 0s - loss: 0.2394 - 127ms/epoch - 8ms/step\n",
"Epoch 54/300\n",
"15/15 - 0s - loss: 0.3569 - 115ms/epoch - 8ms/step\n",
"Epoch 55/300\n",
"15/15 - 0s - loss: 0.1826 - 118ms/epoch - 8ms/step\n",
"Epoch 56/300\n",
"15/15 - 0s - loss: 0.1134 - 117ms/epoch - 8ms/step\n",
"Epoch 57/300\n",
"15/15 - 0s - loss: 0.1108 - 121ms/epoch - 8ms/step\n",
"Epoch 58/300\n",
"15/15 - 0s - loss: 0.1453 - 120ms/epoch - 8ms/step\n",
"Epoch 59/300\n",
"15/15 - 0s - loss: 0.0967 - 123ms/epoch - 8ms/step\n",
"Epoch 60/300\n",
"15/15 - 0s - loss: 0.0906 - 124ms/epoch - 8ms/step\n",
"Epoch 61/300\n",
"15/15 - 0s - loss: 0.0862 - 114ms/epoch - 8ms/step\n",
"Epoch 62/300\n",
"15/15 - 0s - loss: 0.0829 - 119ms/epoch - 8ms/step\n",
"Epoch 63/300\n",
"15/15 - 0s - loss: 0.0815 - 117ms/epoch - 8ms/step\n",
"Epoch 64/300\n",
"15/15 - 0s - loss: 0.1372 - 120ms/epoch - 8ms/step\n",
"Epoch 65/300\n",
"15/15 - 0s - loss: 0.1626 - 115ms/epoch - 8ms/step\n",
"Epoch 66/300\n",
"15/15 - 0s - loss: 0.1039 - 118ms/epoch - 8ms/step\n",
"Epoch 67/300\n",
"15/15 - 0s - loss: 0.0808 - 119ms/epoch - 8ms/step\n",
"Epoch 68/300\n",
"15/15 - 0s - loss: 0.0715 - 116ms/epoch - 8ms/step\n",
"Epoch 69/300\n",
"15/15 - 0s - loss: 0.0692 - 127ms/epoch - 8ms/step\n",
"Epoch 70/300\n",
"15/15 - 0s - loss: 0.1377 - 116ms/epoch - 8ms/step\n",
"Epoch 71/300\n",
"15/15 - 0s - loss: 0.0943 - 131ms/epoch - 9ms/step\n",
"Epoch 72/300\n",
"15/15 - 0s - loss: 0.0902 - 118ms/epoch - 8ms/step\n",
"Epoch 73/300\n",
"15/15 - 0s - loss: 0.0951 - 121ms/epoch - 8ms/step\n",
"Epoch 74/300\n",
"15/15 - 0s - loss: 0.0646 - 122ms/epoch - 8ms/step\n",
"Epoch 75/300\n",
"15/15 - 0s - loss: 0.0686 - 116ms/epoch - 8ms/step\n",
"Epoch 76/300\n",
"15/15 - 0s - loss: 0.0706 - 118ms/epoch - 8ms/step\n",
"Epoch 77/300\n",
"15/15 - 0s - loss: 0.1033 - 118ms/epoch - 8ms/step\n",
"Epoch 78/300\n",
"15/15 - 0s - loss: 0.0750 - 119ms/epoch - 8ms/step\n",
"Epoch 79/300\n",
"15/15 - 0s - loss: 0.0857 - 124ms/epoch - 8ms/step\n",
"Epoch 80/300\n",
"15/15 - 0s - loss: 0.1145 - 116ms/epoch - 8ms/step\n",
"Epoch 81/300\n",
"15/15 - 0s - loss: 0.1043 - 115ms/epoch - 8ms/step\n",
"Epoch 82/300\n",
"15/15 - 0s - loss: 0.0902 - 119ms/epoch - 8ms/step\n",
"Epoch 83/300\n",
"15/15 - 0s - loss: 0.0684 - 115ms/epoch - 8ms/step\n",
"Epoch 84/300\n",
"15/15 - 0s - loss: 0.0704 - 114ms/epoch - 8ms/step\n",
"Epoch 85/300\n",
"15/15 - 0s - loss: 0.0612 - 122ms/epoch - 8ms/step\n",
"Epoch 86/300\n",
"15/15 - 0s - loss: 0.0654 - 120ms/epoch - 8ms/step\n",
"Epoch 87/300\n",
"15/15 - 0s - loss: 0.0692 - 122ms/epoch - 8ms/step\n",
"Epoch 88/300\n",
"15/15 - 0s - loss: 0.0676 - 116ms/epoch - 8ms/step\n",
"Epoch 89/300\n",
"15/15 - 0s - loss: 0.0669 - 112ms/epoch - 7ms/step\n",
"Epoch 90/300\n",
"15/15 - 0s - loss: 0.1559 - 125ms/epoch - 8ms/step\n",
"Epoch 91/300\n",
"15/15 - 0s - loss: 0.1413 - 120ms/epoch - 8ms/step\n",
"Epoch 92/300\n",
"15/15 - 0s - loss: 0.1174 - 121ms/epoch - 8ms/step\n",
"Epoch 93/300\n",
"15/15 - 0s - loss: 0.1283 - 114ms/epoch - 8ms/step\n",
"Epoch 94/300\n",
"15/15 - 0s - loss: 0.0867 - 119ms/epoch - 8ms/step\n",
"Epoch 95/300\n",
"15/15 - 0s - loss: 0.0637 - 117ms/epoch - 8ms/step\n",
"Epoch 96/300\n",
"15/15 - 0s - loss: 0.0602 - 116ms/epoch - 8ms/step\n",
"Epoch 97/300\n",
"15/15 - 0s - loss: 0.0713 - 116ms/epoch - 8ms/step\n",
"Epoch 98/300\n",
"15/15 - 0s - loss: 0.0689 - 114ms/epoch - 8ms/step\n",
"Epoch 99/300\n",
"15/15 - 0s - loss: 0.0556 - 118ms/epoch - 8ms/step\n",
"Epoch 100/300\n",
"15/15 - 0s - loss: 0.0507 - 118ms/epoch - 8ms/step\n",
"Epoch 101/300\n",
"15/15 - 0s - loss: 0.0424 - 114ms/epoch - 8ms/step\n",
"Epoch 102/300\n",
"15/15 - 0s - loss: 0.0483 - 121ms/epoch - 8ms/step\n",
"Epoch 103/300\n",
"15/15 - 0s - loss: 0.0474 - 112ms/epoch - 7ms/step\n",
"Epoch 104/300\n",
"15/15 - 0s - loss: 0.0535 - 117ms/epoch - 8ms/step\n",
"Epoch 105/300\n",
"15/15 - 0s - loss: 0.0612 - 120ms/epoch - 8ms/step\n",
"Epoch 106/300\n",
"15/15 - 0s - loss: 0.0510 - 115ms/epoch - 8ms/step\n",
"Epoch 107/300\n",
"15/15 - 0s - loss: 0.0621 - 120ms/epoch - 8ms/step\n",
"Epoch 108/300\n",
"15/15 - 0s - loss: 0.0891 - 123ms/epoch - 8ms/step\n",
"Epoch 109/300\n",
"15/15 - 0s - loss: 0.0933 - 117ms/epoch - 8ms/step\n",
"Epoch 110/300\n",
"15/15 - 0s - loss: 0.0736 - 116ms/epoch - 8ms/step\n",
"Epoch 111/300\n",
"15/15 - 0s - loss: 0.0922 - 117ms/epoch - 8ms/step\n",
"Epoch 112/300\n",
"15/15 - 0s - loss: 0.1036 - 122ms/epoch - 8ms/step\n",
"Epoch 113/300\n",
"15/15 - 0s - loss: 0.0965 - 116ms/epoch - 8ms/step\n",
"Epoch 114/300\n",
"15/15 - 0s - loss: 0.0686 - 122ms/epoch - 8ms/step\n",
"Epoch 115/300\n",
"15/15 - 0s - loss: 0.0776 - 116ms/epoch - 8ms/step\n",
"Epoch 116/300\n",
"15/15 - 0s - loss: 0.1186 - 120ms/epoch - 8ms/step\n",
"Epoch 117/300\n",
"15/15 - 0s - loss: 0.1310 - 118ms/epoch - 8ms/step\n",
"Epoch 118/300\n",
"15/15 - 0s - loss: 0.1154 - 115ms/epoch - 8ms/step\n",
"Epoch 119/300\n",
"15/15 - 0s - loss: 0.0735 - 123ms/epoch - 8ms/step\n",
"Epoch 120/300\n",
"15/15 - 0s - loss: 0.0531 - 121ms/epoch - 8ms/step\n",
"Epoch 121/300\n",
"15/15 - 0s - loss: 0.0523 - 117ms/epoch - 8ms/step\n",
"Epoch 122/300\n",
"15/15 - 0s - loss: 0.0433 - 124ms/epoch - 8ms/step\n",
"Epoch 123/300\n",
"15/15 - 0s - loss: 0.0343 - 125ms/epoch - 8ms/step\n",
"Epoch 124/300\n",
"15/15 - 0s - loss: 0.0434 - 118ms/epoch - 8ms/step\n",
"Epoch 125/300\n",
"15/15 - 0s - loss: 0.0411 - 126ms/epoch - 8ms/step\n",
"Epoch 126/300\n",
"15/15 - 0s - loss: 0.0503 - 115ms/epoch - 8ms/step\n",
"Epoch 127/300\n",
"15/15 - 0s - loss: 0.0857 - 118ms/epoch - 8ms/step\n",
"Epoch 128/300\n",
"15/15 - 0s - loss: 0.1095 - 112ms/epoch - 7ms/step\n",
"Epoch 129/300\n",
"15/15 - 0s - loss: 0.1018 - 117ms/epoch - 8ms/step\n",
"Epoch 130/300\n",
"15/15 - 0s - loss: 0.0773 - 122ms/epoch - 8ms/step\n",
"Epoch 131/300\n",
"15/15 - 0s - loss: 0.0759 - 116ms/epoch - 8ms/step\n",
"Epoch 132/300\n",
"15/15 - 0s - loss: 0.0610 - 116ms/epoch - 8ms/step\n",
"Epoch 133/300\n",
"15/15 - 0s - loss: 0.0637 - 119ms/epoch - 8ms/step\n",
"Epoch 134/300\n",
"15/15 - 0s - loss: 0.0850 - 120ms/epoch - 8ms/step\n",
"Epoch 135/300\n",
"15/15 - 0s - loss: 0.0720 - 121ms/epoch - 8ms/step\n",
"Epoch 136/300\n",
"15/15 - 0s - loss: 0.0582 - 122ms/epoch - 8ms/step\n",
"Epoch 137/300\n",
"15/15 - 0s - loss: 0.0459 - 113ms/epoch - 8ms/step\n",
"Epoch 138/300\n",
"15/15 - 0s - loss: 0.0535 - 114ms/epoch - 8ms/step\n",
"Epoch 139/300\n",
"15/15 - 0s - loss: 0.0746 - 117ms/epoch - 8ms/step\n",
"Epoch 140/300\n",
"15/15 - 0s - loss: 0.0982 - 121ms/epoch - 8ms/step\n",
"Epoch 141/300\n",
"15/15 - 0s - loss: 0.0764 - 123ms/epoch - 8ms/step\n",
"Epoch 142/300\n",
"15/15 - 0s - loss: 0.0553 - 121ms/epoch - 8ms/step\n",
"Epoch 143/300\n",
"15/15 - 0s - loss: 0.0576 - 113ms/epoch - 8ms/step\n",
"Epoch 144/300\n",
"15/15 - 0s - loss: 0.0609 - 120ms/epoch - 8ms/step\n",
"Epoch 145/300\n",
"15/15 - 0s - loss: 0.0635 - 117ms/epoch - 8ms/step\n",
"Epoch 146/300\n",
"15/15 - 0s - loss: 0.0708 - 115ms/epoch - 8ms/step\n",
"Epoch 147/300\n",
"15/15 - 0s - loss: 0.0703 - 117ms/epoch - 8ms/step\n",
"Epoch 148/300\n",
"15/15 - 0s - loss: 0.1204 - 122ms/epoch - 8ms/step\n",
"Epoch 149/300\n",
"15/15 - 0s - loss: 0.1278 - 120ms/epoch - 8ms/step\n",
"Epoch 150/300\n",
"15/15 - 0s - loss: 0.0696 - 122ms/epoch - 8ms/step\n",
"Epoch 151/300\n",
"15/15 - 0s - loss: 0.0806 - 121ms/epoch - 8ms/step\n",
"Epoch 152/300\n",
"15/15 - 0s - loss: 0.0498 - 118ms/epoch - 8ms/step\n",
"Epoch 153/300\n",
"15/15 - 0s - loss: 0.0390 - 118ms/epoch - 8ms/step\n",
"Epoch 154/300\n",
"15/15 - 0s - loss: 0.0375 - 122ms/epoch - 8ms/step\n",
"Epoch 155/300\n",
"15/15 - 0s - loss: 0.0404 - 124ms/epoch - 8ms/step\n",
"Epoch 156/300\n",
"15/15 - 0s - loss: 0.0514 - 123ms/epoch - 8ms/step\n",
"Epoch 157/300\n",
"15/15 - 0s - loss: 0.1811 - 113ms/epoch - 8ms/step\n",
"Epoch 158/300\n",
"15/15 - 0s - loss: 0.0960 - 121ms/epoch - 8ms/step\n",
"Epoch 159/300\n",
"15/15 - 0s - loss: 0.0632 - 114ms/epoch - 8ms/step\n",
"Epoch 160/300\n",
"15/15 - 0s - loss: 0.0680 - 120ms/epoch - 8ms/step\n",
"Epoch 161/300\n",
"15/15 - 0s - loss: 0.0862 - 110ms/epoch - 7ms/step\n",
"Epoch 162/300\n",
"15/15 - 0s - loss: 0.0698 - 115ms/epoch - 8ms/step\n",
"Epoch 163/300\n",
"15/15 - 0s - loss: 0.0577 - 118ms/epoch - 8ms/step\n",
"Epoch 164/300\n",
"15/15 - 0s - loss: 0.0512 - 116ms/epoch - 8ms/step\n",
"Epoch 165/300\n",
"15/15 - 0s - loss: 0.0361 - 118ms/epoch - 8ms/step\n",
"Epoch 166/300\n",
"15/15 - 0s - loss: 0.0368 - 121ms/epoch - 8ms/step\n",
"Epoch 167/300\n",
"15/15 - 0s - loss: 0.0680 - 118ms/epoch - 8ms/step\n",
"Epoch 168/300\n",
"15/15 - 0s - loss: 0.0919 - 110ms/epoch - 7ms/step\n",
"Epoch 169/300\n",
"15/15 - 0s - loss: 0.0479 - 116ms/epoch - 8ms/step\n",
"Epoch 170/300\n",
"15/15 - 0s - loss: 0.0471 - 120ms/epoch - 8ms/step\n",
"Epoch 171/300\n",
"15/15 - 0s - loss: 0.0396 - 119ms/epoch - 8ms/step\n",
"Epoch 172/300\n",
"15/15 - 0s - loss: 0.0394 - 121ms/epoch - 8ms/step\n",
"Epoch 173/300\n",
"15/15 - 0s - loss: 0.0332 - 118ms/epoch - 8ms/step\n",
"Epoch 174/300\n",
"15/15 - 0s - loss: 0.0627 - 119ms/epoch - 8ms/step\n",
"Epoch 175/300\n",
"15/15 - 0s - loss: 0.0725 - 110ms/epoch - 7ms/step\n",
"Epoch 176/300\n",
"15/15 - 0s - loss: 0.0610 - 115ms/epoch - 8ms/step\n",
"Epoch 177/300\n",
"15/15 - 0s - loss: 0.0528 - 118ms/epoch - 8ms/step\n",
"Epoch 178/300\n",
"15/15 - 0s - loss: 0.0442 - 122ms/epoch - 8ms/step\n",
"Epoch 179/300\n",
"15/15 - 0s - loss: 0.0760 - 121ms/epoch - 8ms/step\n",
"Epoch 180/300\n",
"15/15 - 0s - loss: 0.0663 - 114ms/epoch - 8ms/step\n",
"Epoch 181/300\n",
"15/15 - 0s - loss: 0.0752 - 113ms/epoch - 8ms/step\n",
"Epoch 182/300\n",
"15/15 - 0s - loss: 0.0600 - 120ms/epoch - 8ms/step\n",
"Epoch 183/300\n",
"15/15 - 0s - loss: 0.1234 - 115ms/epoch - 8ms/step\n",
"Epoch 184/300\n",
"15/15 - 0s - loss: 0.0650 - 116ms/epoch - 8ms/step\n",
"Epoch 185/300\n",
"15/15 - 0s - loss: 0.0513 - 123ms/epoch - 8ms/step\n",
"Epoch 186/300\n",
"15/15 - 0s - loss: 0.0417 - 120ms/epoch - 8ms/step\n",
"Epoch 187/300\n",
"15/15 - 0s - loss: 0.0466 - 114ms/epoch - 8ms/step\n",
"Epoch 188/300\n",
"15/15 - 0s - loss: 0.0639 - 119ms/epoch - 8ms/step\n",
"Epoch 189/300\n",
"15/15 - 0s - loss: 0.0491 - 116ms/epoch - 8ms/step\n",
"Epoch 190/300\n",
"15/15 - 0s - loss: 0.0412 - 118ms/epoch - 8ms/step\n",
"Epoch 191/300\n",
"15/15 - 0s - loss: 0.0559 - 115ms/epoch - 8ms/step\n",
"Epoch 192/300\n",
"15/15 - 0s - loss: 0.0668 - 114ms/epoch - 8ms/step\n",
"Epoch 193/300\n",
"15/15 - 0s - loss: 0.0499 - 109ms/epoch - 7ms/step\n",
"Epoch 194/300\n",
"15/15 - 0s - loss: 0.1254 - 117ms/epoch - 8ms/step\n",
"Epoch 195/300\n",
"15/15 - 0s - loss: 0.0808 - 113ms/epoch - 8ms/step\n",
"Epoch 196/300\n",
"15/15 - 0s - loss: 0.0552 - 115ms/epoch - 8ms/step\n",
"Epoch 197/300\n",
"15/15 - 0s - loss: 0.0387 - 113ms/epoch - 8ms/step\n",
"Epoch 198/300\n",
"15/15 - 0s - loss: 0.0348 - 115ms/epoch - 8ms/step\n",
"Epoch 199/300\n",
"15/15 - 0s - loss: 0.0381 - 114ms/epoch - 8ms/step\n",
"Epoch 200/300\n",
"15/15 - 0s - loss: 0.0642 - 111ms/epoch - 7ms/step\n",
"Epoch 201/300\n",
"15/15 - 0s - loss: 0.0549 - 113ms/epoch - 8ms/step\n",
"Epoch 202/300\n",
"15/15 - 0s - loss: 0.1119 - 120ms/epoch - 8ms/step\n",
"Epoch 203/300\n",
"15/15 - 0s - loss: 0.1006 - 115ms/epoch - 8ms/step\n",
"Epoch 204/300\n",
"15/15 - 0s - loss: 0.0808 - 115ms/epoch - 8ms/step\n",
"Epoch 205/300\n",
"15/15 - 0s - loss: 0.0646 - 112ms/epoch - 7ms/step\n",
"Epoch 206/300\n",
"15/15 - 0s - loss: 0.0503 - 115ms/epoch - 8ms/step\n",
"Epoch 207/300\n",
"15/15 - 0s - loss: 0.0519 - 117ms/epoch - 8ms/step\n",
"Epoch 208/300\n",
"15/15 - 0s - loss: 0.0356 - 119ms/epoch - 8ms/step\n",
"Epoch 209/300\n",
"15/15 - 0s - loss: 0.0340 - 113ms/epoch - 8ms/step\n",
"Epoch 210/300\n",
"15/15 - 0s - loss: 0.0469 - 119ms/epoch - 8ms/step\n",
"Epoch 211/300\n",
"15/15 - 0s - loss: 0.0477 - 113ms/epoch - 8ms/step\n",
"Epoch 212/300\n",
"15/15 - 0s - loss: 0.0528 - 110ms/epoch - 7ms/step\n",
"Epoch 213/300\n",
"15/15 - 0s - loss: 0.0491 - 117ms/epoch - 8ms/step\n",
"Epoch 214/300\n",
"15/15 - 0s - loss: 0.0453 - 110ms/epoch - 7ms/step\n",
"Epoch 215/300\n",
"15/15 - 0s - loss: 0.0422 - 119ms/epoch - 8ms/step\n",
"Epoch 216/300\n",
"15/15 - 0s - loss: 0.0559 - 116ms/epoch - 8ms/step\n",
"Epoch 217/300\n",
"15/15 - 0s - loss: 0.0736 - 115ms/epoch - 8ms/step\n",
"Epoch 218/300\n",
"15/15 - 0s - loss: 0.0811 - 113ms/epoch - 8ms/step\n",
"Epoch 219/300\n",
"15/15 - 0s - loss: 0.0455 - 118ms/epoch - 8ms/step\n",
"Epoch 220/300\n",
"15/15 - 0s - loss: 0.0346 - 115ms/epoch - 8ms/step\n",
"Epoch 221/300\n",
"15/15 - 0s - loss: 0.0372 - 116ms/epoch - 8ms/step\n",
"Epoch 222/300\n",
"15/15 - 0s - loss: 0.0962 - 118ms/epoch - 8ms/step\n",
"Epoch 223/300\n",
"15/15 - 0s - loss: 0.1167 - 118ms/epoch - 8ms/step\n",
"Epoch 224/300\n",
"15/15 - 0s - loss: 0.0597 - 111ms/epoch - 7ms/step\n",
"Epoch 225/300\n",
"15/15 - 0s - loss: 0.0707 - 113ms/epoch - 8ms/step\n",
"Epoch 226/300\n",
"15/15 - 0s - loss: 0.0881 - 118ms/epoch - 8ms/step\n",
"Epoch 227/300\n",
"15/15 - 0s - loss: 0.0747 - 118ms/epoch - 8ms/step\n",
"Epoch 228/300\n",
"15/15 - 0s - loss: 0.0430 - 111ms/epoch - 7ms/step\n",
"Epoch 229/300\n",
"15/15 - 0s - loss: 0.0469 - 120ms/epoch - 8ms/step\n",
"Epoch 230/300\n",
"15/15 - 0s - loss: 0.0459 - 118ms/epoch - 8ms/step\n",
"Epoch 231/300\n",
"15/15 - 0s - loss: 0.0350 - 121ms/epoch - 8ms/step\n",
"Epoch 232/300\n",
"15/15 - 0s - loss: 0.0341 - 122ms/epoch - 8ms/step\n",
"Epoch 233/300\n",
"15/15 - 0s - loss: 0.0400 - 117ms/epoch - 8ms/step\n",
"Epoch 234/300\n",
"15/15 - 0s - loss: 0.0371 - 113ms/epoch - 8ms/step\n",
"Epoch 235/300\n",
"15/15 - 0s - loss: 0.0456 - 122ms/epoch - 8ms/step\n",
"Epoch 236/300\n",
"15/15 - 0s - loss: 0.0616 - 115ms/epoch - 8ms/step\n",
"Epoch 237/300\n",
"15/15 - 0s - loss: 0.0736 - 117ms/epoch - 8ms/step\n",
"Epoch 238/300\n",
"15/15 - 0s - loss: 0.1336 - 116ms/epoch - 8ms/step\n",
"Epoch 239/300\n",
"15/15 - 0s - loss: 0.0764 - 117ms/epoch - 8ms/step\n",
"Epoch 240/300\n",
"15/15 - 0s - loss: 0.0588 - 118ms/epoch - 8ms/step\n",
"Epoch 241/300\n",
"15/15 - 0s - loss: 0.0375 - 120ms/epoch - 8ms/step\n",
"Epoch 242/300\n",
"15/15 - 0s - loss: 0.0327 - 117ms/epoch - 8ms/step\n",
"Epoch 243/300\n",
"15/15 - 0s - loss: 0.0254 - 119ms/epoch - 8ms/step\n",
"Epoch 244/300\n",
"15/15 - 0s - loss: 0.0364 - 121ms/epoch - 8ms/step\n",
"Epoch 245/300\n",
"15/15 - 0s - loss: 0.0795 - 119ms/epoch - 8ms/step\n",
"Epoch 246/300\n",
"15/15 - 0s - loss: 0.0879 - 119ms/epoch - 8ms/step\n",
"Epoch 247/300\n",
"15/15 - 0s - loss: 0.0684 - 115ms/epoch - 8ms/step\n",
"Epoch 248/300\n",
"15/15 - 0s - loss: 0.0407 - 114ms/epoch - 8ms/step\n",
"Epoch 249/300\n",
"15/15 - 0s - loss: 0.0518 - 122ms/epoch - 8ms/step\n",
"Epoch 250/300\n",
"15/15 - 0s - loss: 0.0548 - 127ms/epoch - 8ms/step\n",
"Epoch 251/300\n",
"15/15 - 0s - loss: 0.0470 - 121ms/epoch - 8ms/step\n",
"Epoch 252/300\n",
"15/15 - 0s - loss: 0.0597 - 115ms/epoch - 8ms/step\n",
"Epoch 253/300\n",
"15/15 - 0s - loss: 0.0488 - 114ms/epoch - 8ms/step\n",
"Epoch 254/300\n",
"15/15 - 0s - loss: 0.0536 - 118ms/epoch - 8ms/step\n",
"Epoch 255/300\n",
"15/15 - 0s - loss: 0.0793 - 118ms/epoch - 8ms/step\n",
"Epoch 256/300\n",
"15/15 - 0s - loss: 0.0552 - 112ms/epoch - 7ms/step\n",
"Epoch 257/300\n",
"15/15 - 0s - loss: 0.0502 - 114ms/epoch - 8ms/step\n",
"Epoch 258/300\n",
"15/15 - 0s - loss: 0.0343 - 126ms/epoch - 8ms/step\n",
"Epoch 259/300\n",
"15/15 - 0s - loss: 0.0308 - 117ms/epoch - 8ms/step\n",
"Epoch 260/300\n",
"15/15 - 0s - loss: 0.0272 - 115ms/epoch - 8ms/step\n",
"Epoch 261/300\n",
"15/15 - 0s - loss: 0.0315 - 120ms/epoch - 8ms/step\n",
"Epoch 262/300\n",
"15/15 - 0s - loss: 0.0311 - 115ms/epoch - 8ms/step\n",
"Epoch 263/300\n",
"15/15 - 0s - loss: 0.0395 - 118ms/epoch - 8ms/step\n",
"Epoch 264/300\n",
"15/15 - 0s - loss: 0.0684 - 117ms/epoch - 8ms/step\n",
"Epoch 265/300\n",
"15/15 - 0s - loss: 0.1029 - 116ms/epoch - 8ms/step\n",
"Epoch 266/300\n",
"15/15 - 0s - loss: 0.0782 - 118ms/epoch - 8ms/step\n",
"Epoch 267/300\n",
"15/15 - 0s - loss: 0.0619 - 119ms/epoch - 8ms/step\n",
"Epoch 268/300\n",
"15/15 - 0s - loss: 0.0480 - 114ms/epoch - 8ms/step\n",
"Epoch 269/300\n",
"15/15 - 0s - loss: 0.0600 - 118ms/epoch - 8ms/step\n",
"Epoch 270/300\n",
"15/15 - 0s - loss: 0.0508 - 115ms/epoch - 8ms/step\n",
"Epoch 271/300\n",
"15/15 - 0s - loss: 0.0622 - 123ms/epoch - 8ms/step\n",
"Epoch 272/300\n",
"15/15 - 0s - loss: 0.0651 - 123ms/epoch - 8ms/step\n",
"Epoch 273/300\n",
"15/15 - 0s - loss: 0.0404 - 117ms/epoch - 8ms/step\n",
"Epoch 274/300\n",
"15/15 - 0s - loss: 0.0665 - 122ms/epoch - 8ms/step\n",
"Epoch 275/300\n",
"15/15 - 0s - loss: 0.0614 - 126ms/epoch - 8ms/step\n",
"Epoch 276/300\n",
"15/15 - 0s - loss: 0.0419 - 122ms/epoch - 8ms/step\n",
"Epoch 277/300\n",
"15/15 - 0s - loss: 0.0346 - 119ms/epoch - 8ms/step\n",
"Epoch 278/300\n",
"15/15 - 0s - loss: 0.0703 - 118ms/epoch - 8ms/step\n",
"Epoch 279/300\n",
"15/15 - 0s - loss: 0.0708 - 122ms/epoch - 8ms/step\n",
"Epoch 280/300\n",
"15/15 - 0s - loss: 0.0426 - 124ms/epoch - 8ms/step\n",
"Epoch 281/300\n",
"15/15 - 0s - loss: 0.0383 - 117ms/epoch - 8ms/step\n",
"Epoch 282/300\n",
"15/15 - 0s - loss: 0.0441 - 116ms/epoch - 8ms/step\n",
"Epoch 283/300\n",
"15/15 - 0s - loss: 0.0724 - 119ms/epoch - 8ms/step\n",
"Epoch 284/300\n",
"15/15 - 0s - loss: 0.0491 - 118ms/epoch - 8ms/step\n",
"Epoch 285/300\n",
"15/15 - 0s - loss: 0.0445 - 124ms/epoch - 8ms/step\n",
"Epoch 286/300\n",
"15/15 - 0s - loss: 0.0433 - 119ms/epoch - 8ms/step\n",
"Epoch 287/300\n",
"15/15 - 0s - loss: 0.0386 - 118ms/epoch - 8ms/step\n",
"Epoch 288/300\n",
"15/15 - 0s - loss: 0.0337 - 121ms/epoch - 8ms/step\n",
"Epoch 289/300\n",
"15/15 - 0s - loss: 0.0334 - 114ms/epoch - 8ms/step\n",
"Epoch 290/300\n",
"15/15 - 0s - loss: 0.0741 - 122ms/epoch - 8ms/step\n",
"Epoch 291/300\n",
"15/15 - 0s - loss: 0.0655 - 122ms/epoch - 8ms/step\n",
"Epoch 292/300\n",
"15/15 - 0s - loss: 0.0533 - 117ms/epoch - 8ms/step\n",
"Epoch 293/300\n",
"15/15 - 0s - loss: 0.0401 - 120ms/epoch - 8ms/step\n",
"Epoch 294/300\n",
"15/15 - 0s - loss: 0.0342 - 120ms/epoch - 8ms/step\n",
"Epoch 295/300\n",
"15/15 - 0s - loss: 0.0358 - 120ms/epoch - 8ms/step\n",
"Epoch 296/300\n",
"15/15 - 0s - loss: 0.0678 - 116ms/epoch - 8ms/step\n",
"Epoch 297/300\n",
"15/15 - 0s - loss: 0.0521 - 118ms/epoch - 8ms/step\n",
"Epoch 298/300\n",
"15/15 - 0s - loss: 0.0363 - 117ms/epoch - 8ms/step\n",
"Epoch 299/300\n",
"15/15 - 0s - loss: 0.0524 - 123ms/epoch - 8ms/step\n",
"Epoch 300/300\n",
"15/15 - 0s - loss: 0.0461 - 122ms/epoch - 8ms/step\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<keras.src.callbacks.History at 0x7ccd9c72c8b0>"
]
},
"metadata": {},
"execution_count": 62
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "n-aNP4n3sqG_",
"outputId": "41fe0892-0a15-4abb-bb64-76a268a31d38",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 443
}
},
"source": [
"# Plotting code, feel free to ignore.\n",
"h = 1.0\n",
"x_min, x_max = X[:, 0].min() - 5, X[:, 0].max() + 5\n",
"y_min, y_max = X[:, 1].min() - 5, X[:, 1].max() + 5\n",
"xx, yy = np.meshgrid(np.arange(x_min, x_max, h),\n",
" np.arange(y_min, y_max, h))\n",
"\n",
"# here \"model\" is your model's prediction (classification) function\n",
"Z = tn_model.predict(np.c_[xx.ravel(), yy.ravel()])\n",
"\n",
"# Put the result into a color plot\n",
"Z = Z.reshape(xx.shape)\n",
"plt.contourf(xx, yy, Z)\n",
"plt.axis('off')\n",
"\n",
"# Plot also the training points\n",
"plt.scatter(X[:, 0], X[:, 1], c=Y, cmap=plt.cm.Paired)"
],
"execution_count": 63,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"7/7 [==============================] - 0s 4ms/step\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7ccdc056a0b0>"
]
},
"metadata": {},
"execution_count": 63
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {}
}
]
},
{
"cell_type": "code",
"source": [
"seconds = time.time()\n",
"print(\"Time in seconds since end of run:\", seconds)\n",
"local_time = time.ctime(seconds)\n",
"print(local_time)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 0
},
"id": "s_ukr55OORqE",
"outputId": "6da829f9-b49b-49af-fe70-cb675ff834ca"
},
"execution_count": 64,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Time in seconds since end of run: 1712725621.3136249\n",
"Wed Apr 10 05:07:01 2024\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"seconds = time.time()\n",
"print(\"Time in seconds since beginning of run:\", seconds)\n",
"local_time = time.ctime(seconds)\n",
"print(local_time)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 0
},
"id": "o8HTyvcHchzQ",
"outputId": "ab74b99d-2a64-46f6-ee71-0b8afeab3eb1"
},
"execution_count": 65,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Time in seconds since beginning of run: 1712725621.3193328\n",
"Wed Apr 10 05:07:01 2024\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"# Function to compute saliency map\n",
"@tf.function\n",
"def compute_saliency(input_image):\n",
" with tf.GradientTape() as tape:\n",
" tape.watch(input_image)\n",
" predictions = tn_model(input_image)\n",
" grads = tape.gradient(predictions, input_image)\n",
" saliency_map = tf.reduce_max(tf.abs(grads), axis=-1)\n",
" return saliency_map\n",
"\n",
"# Function to compute saliency map using Gradient\n",
"@tf.function\n",
"def compute_gradient_saliency(input_image):\n",
" with tf.GradientTape() as tape:\n",
" tape.watch(input_image)\n",
" predictions = tn_model(input_image)\n",
" grads = tape.gradient(predictions, input_image)\n",
" saliency_map = tf.reduce_max(tf.abs(grads), axis=-1)\n",
" return saliency_map\n",
"\n",
"# Compute saliency map for the entire grid\n",
"def compute_saliency_map_grid():\n",
" xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))\n",
" input_image = np.c_[xx.ravel(), yy.ravel()]\n",
" saliency_map = compute_saliency(tf.constant(input_image, dtype=tf.float32)).numpy()\n",
" saliency_map = saliency_map.reshape(xx.shape)\n",
" return xx, yy, saliency_map\n",
"\n",
"# Compute and plot saliency map for the entire grid\n",
"xx, yy, saliency_map = compute_saliency_map_grid()\n",
"\n",
"# Compute saliency maps for all data points\n",
"def compute_saliency_maps():\n",
" saliency_maps = []\n",
" for data_point in X:\n",
" saliency_map = compute_gradient_saliency(tf.constant(data_point[None, :], dtype=tf.float32)).numpy()\n",
" saliency_maps.append(saliency_map)\n",
" return saliency_maps\n",
"\n",
"# Find the indices of the data points with the highest saliency values\n",
"def find_top_indices(saliency_maps, top_k):\n",
" top_indices = np.argsort(np.max(saliency_maps, axis=1))[-top_k:]\n",
" return top_indices\n",
"\n",
"def plot_most_diagnostic(top_indices, top_k, normalized_saliency_values):\n",
" plt.figure(figsize=(8, 6))\n",
" plt.scatter(X[:, 0], X[:, 1], c=Y, cmap=plt.cm.Paired)\n",
" plt.scatter(X[top_indices, 0], X[top_indices, 1], marker='o', s=200, facecolors='none', edgecolors='r', linewidths=2)\n",
" for i, index in enumerate(top_indices):\n",
" plt.annotate(f'{normalized_saliency_values.iloc[index][\"Saliency\"]:.4f}', (X[index, 0], X[index, 1]), xytext=(X[index, 0]+0.35, X[index, 1]+0.25), arrowprops=dict(facecolor='black', arrowstyle='->'))\n",
" plt.title(f'Saliency Most Diagnostic Data Points (Top {top_k})')\n",
" plt.xlabel('Feature 1')\n",
" plt.ylabel('Feature 2')\n",
" plt.grid(True)\n",
" plt.axis('equal')\n",
" plt.show()\n",
"\n",
"# Compute saliency maps for all data points\n",
"saliency_maps = compute_saliency_maps()\n",
"\n",
"# Find the indices of the data points with the highest saliency values\n",
"top_k = 5 # Number of top diagnostic data points to select\n",
"top_indices = find_top_indices(saliency_maps, top_k)\n",
"\n",
"# Create a DataFrame to store the saliency values\n",
"saliency_df = pd.DataFrame(data=saliency_maps, columns=[\"Saliency\"])\n",
"\n",
"# Save the saliency values to a CSV file\n",
"saliency_df.to_csv(\"saliency_values.csv\", index=False)\n",
"\n",
"print(\"Saliency values saved to saliency_values.csv\")\n",
"\n",
"# Normalizing the saliency values\n",
"normalized_saliency = (saliency_df - saliency_df.min()) / (saliency_df.max() - saliency_df.min())\n",
"\n",
"# Saving the normalized saliency values to a new CSV file\n",
"normalized_saliency.to_csv(\"normalized_saliency_values.csv\", index=False)\n",
"\n",
"# Plot the most diagnostic data points\n",
"plot_most_diagnostic(top_indices, top_k, normalized_saliency)\n",
"\n",
"print(\"Normalized saliency values saved to normalized_saliency_values.csv\")\n",
"print(\"Normalized Saliency Top-k:\")\n",
"print(normalized_saliency.nlargest(top_k, 'Saliency'))\n",
"print(\"Normalized Saliency Max:\", normalized_saliency.max())\n",
"print(\"Normalized Saliency Min:\", normalized_saliency.min())\n",
"print(\"Normalized Saliency Mean:\", normalized_saliency.mean())\n",
"print(\"Normalized Saliency Median:\", normalized_saliency.median())\n",
"print(\"Normalized Saliency Mode:\", normalized_saliency.mode())\n",
"sum_normalized_values = normalized_saliency.sum()\n",
"print(\"Normalized Saliency Sum:\", sum_normalized_values)\n",
"print(\"#\")\n",
"print(\"#\")\n",
"print(\"#\")\n",
"print(\"Normalized Saliency Standard Deviation:\", normalized_saliency.std())\n",
"print(\"Normalized Saliency Skewness:\", normalized_saliency.skew())\n",
"print(\"Normalized Saliency Kurtosis:\", normalized_saliency.kurtosis())\n",
"print(\"Normalized Saliency Variance:\", normalized_saliency.var())\n",
"coefficient_variation = (normalized_saliency.std() / normalized_saliency.mean()) * 100\n",
"print(\"Normalized Saliency Coefficient of Variation:\", coefficient_variation)\n",
"print(\"#\")\n",
"print(\"#\")\n",
"print(\"#\")\n",
"cumulative_sum = normalized_saliency.cumsum()\n",
"print(\"Cumulative Sum of Normalized Saliency Values:\", cumulative_sum)\n",
"mean_cumulative_sum = cumulative_sum / len(normalized_saliency)\n",
"print(\"Mean of Cumulative Sum of Normalized Saliency Values:\", mean_cumulative_sum)\n",
"rms = np.sqrt(np.mean(normalized_saliency**2))\n",
"print(\"Normalized Saliency Root Mean Square:\", rms)\n",
"q1 = normalized_saliency.quantile(0.25)\n",
"q2 = normalized_saliency.quantile(0.75)\n",
"iqr = q2 - q1\n",
"print(\"Normalized Saliency 25th Percentile:\", q1)\n",
"print(\"Normalized Saliency 75th Percentile:\", q2)\n",
"print(\"Normalized Saliency Interquartile Range:\", iqr)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1849
},
"id": "95xed6YyDClf",
"outputId": "980e1f08-1444-45d1-a753-b3a4f8416bda"
},
"execution_count": 66,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Saliency values saved to saliency_values.csv\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 800x600 with 1 Axes>"
],
"image/png": "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376d7t27M3z4cJKTkwE4duwY9957L23atGHZsmX079+fwMBAFi9ezL59+7j//vsZPXp0sQUpJk6cSGxsLIsXL2bXrl0MGzaMIUOGEB8fX+y+R4wYQUJCguvfF198Uez2a665BrvdzurVq9m2bRvdu3fnmmuuITExsUKPUXieTlHo0cR9z78CpJvdX7kQQlQvSXyFELVGcq6FzILyV8cCCDTqiQk2VejYc+bMYdKkSUyYMIFOnTrx3nvv4evry//+9z8mTpxI27ZtWb58Oa+88gpxcXEcPHiQ5557jpEjR9KqVSseeOABRo4cyRtvvAFAfn4+3377LbNnz2bgwIG0adOGF198kTZt2vDuu+8Wu2+j0UhUVJTrX6NGjVy3paamcujQIZ555hm6detG27ZtefXVVzGbzezevbtCj1FUD2+9+49OlcKrF0KI2kUSXyFErZGYY9FULqpf85AKrdRmtVrZtm0bQ4YMcW07duyYK/H98ccfefXVV4mLi+PJJ5/E398fi8WCj0/xihEmk4m//voLALvdjsPhKLdNkTVr1hAREUH79u154IEHSEtLc90WGhpK+/bt+fTTT8nLy8Nut/P+++8TERFBr169ND9GUX38vPX4G90PtTmekS+T3ISoZSTxFULUGla7Q9MwB4NXxcb3pqam4nA4iIyM5PDhw0yYMIF27dpx+vRpmjZtSlxcHI8//jh+fmeHTwwfPpw5c+Zw6NAhnE4nsbGxLFu2jISEBAACAgLo168fM2fO5PTp0zgcDj777DM2btzoagOFwxw+/fRTVq1axWuvvcbatWu56qqrcDgKS14pisLvv//OP//8Q0BAAD4+PsyZM4eVK1cW6xkWtYeiKHSODHTfDtiVqG3ZbSFE9ZDEVwhRK5htDo5nup8MZPTSVWpiG8DMmTPp0KEDK1eu5H//+x/33nsvjRs3xtfXt0TbefPm0bZtWzp06IC3tzdTpkxhwoQJ6HRn3zYXL16Mqqo0adIEo9HIW2+9xe23316szW233cZ1111H165dGTVqFD/99BNbtmxhzZo1QOG45smTJxMREcGff/7J5s2bGTVqFNdee22xBFrULi1DfAn39y63jQok5Vg0r0IohPA8SXyFEDXPYuFo7F+EbPyL8G0b8U08DWWUgmoX7l+h2r0HDx7kqaeeAuDvv/9mzpw5HD16lEcffZT09HSi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/xzelufGJvDnPtH8d0se23K975k9/zyTPnf9m9vv+Tu//vor3333HZ07d+b666+nqqrqtLEJAZL4ClFnlqi29LnrCYbNWuLtta1H2bOK/CP8tnAO39w/lrIj+xohyuYToK/9QpIKhJia94KTwWCgX79+rFmzpnqbx+NhzZo1DB589jHdS5cuxW63c/PNN9fY7nQ6cTqdp/TKarVaPJ4TVwjKysoYM2YMBoOBFStWnHJp+DhFUYiLi8NsNvPee+8RHx9P37596/pQhR/xqCr7C6y1tjPrm//juT5fDqOiovj000+x2WwcPnyYvXv3EhgYSMfERI78sIL1/7yOZ95ZzrVdIxjeIZiEUBMjE0O4sks4H+0uBMDu8vDOjgJu7xPNgLZBJISZuLxzGMPaB7HygI2+9zxDwug/ABASEkJycjLDhw/no48+Yu/evSxbtqxxnxjRojX/K0uIFio8uTdD/rWIgJj29TyCiqOsiPX/up6dbz9JeVZ6g8bXXHwdv9jMHb6At1f19ddfZ/HixezZs4e7774bm83GbbfdBsAtt9zCww8/fMp+b775JhMnTiQiIqLG9uDgYC6++GL+8Y9/sG7dOg4ePMiiRYt46623uPrqq4ETSa/NZuPNN9+krKyM3NxccnNza1wOfuaZZ/jtt9/YtWsXjz/+OE8++SQvvPBCk8xWF42nwuHG7j77MClF8a0edmM7ly+HJpOJtm3b4nK5+OjDD+hpsfHryw9Remg3DpeH34/k0CgK6rE5EW5VxeXxPg8nC0u8gLDOfWk3dMJp71NVVVRVxW631/3BilZDxvgKcQ7CO/fhkme/IGfzan55+R/e1d7qVCFQxeO0k77qbdK/XEzHy26l280PnRelzxTOXgBuW3YJ7cPMaJrxsd5www0UFBQwY8YMcnNz6d27N6tWraoe05iRkXFK721qaio//PADX3/99WmP+f777/Pwww9z0003UVRURIcOHZg7dy533XUXAL/88gs//fQTAElJSTX2PXjwIAkJCQB8+eWXzJ07F7vdTq9evVi+fDmXXXZZQz580Qw0vozdVWny18WCBQt45plnyM3NpVevXrz44osMGDCAadOmceutt3LhhRcyYMAA5s+fj81m45prruGee+7hf//7Hw6Hg06dOjF//nwiIiLIysoiKSmJmY9M54uvV+NwutCUmbgwIobkCDP9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\n"
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stdout",
"text": [
"Normalized saliency values saved to normalized_saliency_values.csv\n",
"Normalized Saliency Top-k:\n",
" Saliency\n",
"339 1.000000\n",
"80 0.995834\n",
"198 0.988329\n",
"160 0.782945\n",
"460 0.690688\n",
"Normalized Saliency Max: Saliency 1.0\n",
"dtype: float32\n",
"Normalized Saliency Min: Saliency 0.0\n",
"dtype: float32\n",
"Normalized Saliency Mean: Saliency 0.036952\n",
"dtype: float32\n",
"Normalized Saliency Median: Saliency 0.002425\n",
"dtype: float32\n",
"Normalized Saliency Mode: Saliency\n",
"0 0.000549\n",
"Normalized Saliency Sum: Saliency 17.73674\n",
"dtype: float32\n",
"#\n",
"#\n",
"#\n",
"Normalized Saliency Standard Deviation: Saliency 0.130502\n",
"dtype: float32\n",
"Normalized Saliency Skewness: Saliency 4.780117\n",
"dtype: float32\n",
"Normalized Saliency Kurtosis: Saliency 25.023552\n",
"dtype: float32\n",
"Normalized Saliency Variance: Saliency 0.017031\n",
"dtype: float32\n",
"Normalized Saliency Coefficient of Variation: Saliency 353.17041\n",
"dtype: float32\n",
"#\n",
"#\n",
"#\n",
"Cumulative Sum of Normalized Saliency Values: Saliency\n",
"0 0.001210\n",
"1 0.002413\n",
"2 0.003622\n",
"3 0.004827\n",
"4 0.006026\n",
".. ...\n",
"475 17.678381\n",
"476 17.692688\n",
"477 17.707075\n",
"478 17.721594\n",
"479 17.736736\n",
"\n",
"[480 rows x 1 columns]\n",
"Mean of Cumulative Sum of Normalized Saliency Values: Saliency\n",
"0 0.000003\n",
"1 0.000005\n",
"2 0.000008\n",
"3 0.000010\n",
"4 0.000013\n",
".. ...\n",
"475 0.036830\n",
"476 0.036860\n",
"477 0.036890\n",
"478 0.036920\n",
"479 0.036952\n",
"\n",
"[480 rows x 1 columns]\n",
"Normalized Saliency Root Mean Square: 0.1355016\n",
"Normalized Saliency 25th Percentile: Saliency 0.001437\n",
"Name: 0.25, dtype: float64\n",
"Normalized Saliency 75th Percentile: Saliency 0.0089\n",
"Name: 0.75, dtype: float64\n",
"Normalized Saliency Interquartile Range: Saliency 0.007463\n",
"dtype: float64\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"seconds = time.time()\n",
"print(\"Time in seconds since end of run:\", seconds)\n",
"local_time = time.ctime(seconds)\n",
"print(local_time)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 0
},
"id": "wfZCzuq9KY9b",
"outputId": "e8389c22-409f-4162-c231-1ee78516386c"
},
"execution_count": 67,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Time in seconds since end of run: 1712725623.0360823\n",
"Wed Apr 10 05:07:03 2024\n"
]
}
]
}
]
}